iT邦幫忙

2021 iThome 鐵人賽

DAY 4
0
DevOps

運用皮毛技術與 AWS 平台、打造雲端蘿蔔服務三十天系列 第 4

【Day 4】DevOps x Containerized x 王大陸都知道的容器化好處

  • 分享至 

  • xImage
  •  
tags: 鐵人賽 Docker Container Microservice DevOps

概述

碎念時間

  • 為什麼我們需要 容器化 ?
    • 試想,如果一家新成立的公司,要構建一個網站,初期只是個 靜態網頁
      • 公司剛成立沒有錢,老闆決定把簡單的網頁,架在 GitHub Pages 上,裡面就放一頁式的形象網站而已。
      • 備註:GitHub Pages 是一個提供網頁託管服務 的網站,有些人稱 github.io
    • 後來,這公司成立了網路商店,欲販售一些商品,結合資料庫的動態網站
      • 可能會賣個關廟麵、水煮雞胸肉、水餃、海鮮、蜂蜜等等的商品。
      • 初期的網路商店原理很簡單,就是一個填表單網站。
      • 填完購物表單後,明細存在 DB 內。
      • 發信給填表者、管理者,並以約定方式付款。
      • 由 LAMP (Linux、Apache 2.4.48MySQL Community Server 8.0.26PHP 8.0.10) 所建構出的服務。
    • 事業起步後,流量變大了⋯⋯
      • 結合直播,電動加跳鋼管賣海產,流量爆衝,流量就上來了
      • 想做 「會員系統」,透過註冊網站會員或是串接 OAuth,以方便統計客戶的住址、年齡、性別、學歷、身高、體重、購物歷史等等,加速出貨退會、分析潛在商機使用。
      • 串接 「金流系統」,結合第三方的金流系統,以方便會計作業、發票開立、收款付款退款、介接物流業者等。
    • 各種系統和服務都集中在一台機器上⋯⋯
    • 然後某天要辦抽獎的時候、然後呢?然後服務就死掉了
    • 網站可承受流量多寡(C10k problem)、避免 DDos 等等的議題,猶如大海般,今天應該討論不完。
    • 而今天我們先來談談**浴缸** 容器(Container),為解決複雜問題奠基。

問題探討

系統層級環境 / 虛擬化環境 / 容器化環境

  • 系統整體的耦合性過高,使得不同模組所產生的相依性與問題相互箝制⋯⋯
  • 純粹地提高硬體規格,亦無法解決阿館所面臨的問題⋯⋯
  • 王大陸在好幾年前就分別提出解決的方案
  • 使用容器的好處已經是老生常談,作者 就不贅述了 稍微略提。
    • 容器與宿主共用 Kernel,不用多跑一套作業系統核心,就是輕就是快
    • 具可攜性、易擴展、跨平台移轉等特性
    • 應用程式隔離 (麻醬麵麻醬跟麵要分開)

DevOps 場景中的容器化好處

  • DevOps 一詞包含了 Development(開發) 和 Operation(運維)
  • 我把它解讀成,在一邊寫 Code且一邊測試部署的過程中,所需做的功。
  • 通常 DevOps 會搭配 WorkFlow 一併使用
    • 看板開發法
    • 敏捷式開發法
    • 混合式開發法
    • 隕石式開發法
    • 各種開發...(略)
  • 為了提高開發過程中,有些反覆的工作,每經過在測試的時候總是
    • 準備編譯環境、準備原始碼、編譯、打包、準備執行環境、部署程式到執行環境中、蒐集測試結果⋯⋯

拿做咖啡來形容有無容器化的差異⋯⋯

  • 使用「咖啡師」製作 Expresso 咖啡流程示意圖
  • 使用「膠囊咖啡機」製作 Expresso 咖啡流程示意圖

安裝 Docker 執行環境

下載並且安裝

  • 從官方網站 下載連結

  • 選擇合適版本下載並安裝

  • 按 OK

  • 工程師也是要領薪水、要吃飯的,如果你不是當老闆的,或者是員工很少、沒有賺太多錢,就不跟你計較了,勾起 "I accept the terms" 按 "Accept"

  • 裝好了之後,用 Spotlight 喚醒他,或者是直接到應用程式目錄開啟他。

小結

  • 一個容器最好只做一件事情。
  • 麻醬麵,麻醬跟麵要分開!
  • 篇幅有限,只有安裝完環境和講一些自己扭曲的觀點。
  • 明天再來演示基本的 Docker 操作和 Dockerfile。

後記

  • 鐵人賽好硬,一週上六天班有點招架不住。
  • 滿滿的 Crema

上一篇
【Day 3】Git x GitHub x 版本控制的基礎:吳寶春的成功秘訣
下一篇
【Day 5】Git Submodule x Run Docker x 啟用第一個蘿蔔服務
系列文
運用皮毛技術與 AWS 平台、打造雲端蘿蔔服務三十天30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言